home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / DOS.SWG / 0058_DOS Flush function.pas < prev    next >
Pascal/Delphi Source File  |  1994-08-24  |  1KB  |  60 lines

  1. {
  2.   Coded By Frank Diacheysn Of Gemini Software
  3.  
  4.   FUNCTION DOSFLUSH
  5.  
  6.   Input......: F = Variable File (Text Or File) To "Flush"
  7.              :
  8.              :
  9.              :
  10.              :
  11.  
  12.   Output.....: Logical
  13.              :        TRUE  = Successfully Flushed Buffers
  14.              :        FALSE = Flush Failed
  15.              :
  16.              :
  17.  
  18.   Example....: IF DOSFLUSH( TextFile ) THEN
  19.              :   WriteLn('DOS Buffers For TEMP.TXT Flushed To Disk.')
  20.              : ELSE
  21.              :   WriteLn('DOS Error While Trying To Flush Buffers For TEMP.TXT');
  22.              :
  23.  
  24.   Description: Flushes DOS Buffers For A File
  25.              :
  26.              :
  27.              :
  28.              :
  29.  
  30. }
  31. FUNCTION DOSFLUSH( VAR F ):BOOLEAN; ASSEMBLER;
  32. ASM
  33.   MOV AX, 3000H
  34.   INT 21H
  35.   CMP AL, 3
  36.   JL @Old
  37.   CMP AH, 1EH
  38.   LES DI, F
  39.   MOV BX, ES:[DI]
  40.   MOV AH, 68H
  41.   INT 21H
  42.   JC @BadEnd
  43.   JMP @GoodEnd
  44.  
  45.   @Old:
  46.   LES DI, F
  47.   MOV BX, ES:[DI]
  48.   MOV AH, 45H
  49.   INT 21H
  50.   JC @BadEnd
  51.   @Ok:
  52.   MOV BX, AX
  53.   MOV AH, 3EH
  54.   INT 21H
  55.   JC @BadEnd
  56.   @GoodEnd:
  57.   MOV AX, 0
  58.   @BadEnd:
  59. END;
  60.